package com.spsoft.vatoutinv.service.vmshzqrdmanage;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.spsoft.core.model.Result;
import com.spsoft.core.model.bo.TokenUser;
import com.spsoft.vatoutinv.model.dto.vmshzqrdmanage.VmsApprovalHzqrdPageDto;
import com.spsoft.vatoutinv.model.vo.vmshzqrdmanage.VmsApprovalHzqrdTotalSimpleVo;
import com.spsoft.vatoutinv.model.vo.vmshzqrdmanage.VmsApprovalHzqrdVo;
import com.spsoft.vatoutinv.model.vo.vmshzqrdmanage.VmsLeqiHzqrdVo;

/**
 * 红字确认单确认 服务类
 *
 * @author : chenxudong
 * @date : 2024/1/4 17:13
 */
public interface VmsHzqrdConfirmService {

    /**
     * 红字确认单确认主界面-分页查询
     */
    Result<IPage<VmsApprovalHzqrdVo>> pageApply(VmsApprovalHzqrdPageDto pageDto);

    /**
     * 红字确认单查询页面-分页查询
     */
    Result<IPage<VmsLeqiHzqrdVo>> pageHzqrd(VmsApprovalHzqrdPageDto pageDto);

    /**
     * 红字确认单查询页面-调用乐企获取红字确认单
     */
    Result<Object> getHzqrd(TokenUser tokenUser);

    /**
     * 新增子界面-快速添加
     */
    Result<VmsApprovalHzqrdTotalSimpleVo> fastAdd(String hzxxqrdbh, Long applyId);

    /**
     * 保存红字确认单确认信息
     */
    Result<Object> saveConfirm(Long applyId, String hzxxqrdbh);

    /**
     * 撤销红字确认单确认信息
     */
    Result<Object> revokeConfirm(Long id);

    /**
     * 获取红字确认单确认信息详情
     */
    Result<VmsApprovalHzqrdTotalSimpleVo> getConfirmDetail(Long applyId);

    /**
     * 调用乐企数电红字确认单确认接口完成确认
     */
    Result<Object> hzqrdConfirm(Long busId, String qrjg);

}
